/**
 * 系统异常信息
 */
import Vue from 'vue'

var errorMap = {
    //未登录异常
    UNLOGIN_ERROR: 'unlogin error',
    //业务异常
    BUSINESS_ERROR: 'business error',
    //网络异常
    NETWORK_ERROR: 'network error',
}

export default errorMap

var ErrorHandle = {
    install : function (Vue, options) {
        Vue.prototype.$handleError = function (error, defaultText) {
            if(error instanceof Error){
                if(error.message === errorMap.BUSINESS_ERROR){
                    this.$alert(error.data && error.data.message || defaultText, '错误', {
                        confirmButtonText: '确定',
                        type: 'error',
                    });
                } else if(error.message === errorMap.UNLOGIN_ERROR){
                    this.$alert('您还没有登录', '错误', {
                        confirmButtonText: '确定',
                        type: 'error',
                    });
                } else if(error.message === errorMap.NETWORK_ERROR){
                    this.$alert('网络连接失败', '错误', {
                        confirmButtonText: '确定',
                        type: 'error',
                    });
                } else {
                    this.$alert(defaultText, '错误', {
                        confirmButtonText: '确定',
                        type: 'error',
                    });
                }

            }

        }
    }
}

Vue.use(ErrorHandle)
